package com.hake.util;

import java.util.List;


/**
 * Comments：全局返回信息类
 * Author： hupan
 * Create Date： 2015-10-13 下午05:18:56
 */
public class ErrorInfo {

	/** 错误代码 */
	public String errCode;

	/** 错误信息 */
	public String errMsg;

	/** 返回数据 */
	public Object data;

	/* ------------------------------------ getter/setter ------------------------------------ */

	public String getErrCode() {
		return errCode;
	}

	public void setErrCode(String errCode) {
		this.errCode = errCode;
	}

	public String getErrMsg() {
		return errMsg;
	}

	public void setErrMsg(String errMsg) {
		this.errMsg = errMsg;
	}

	public Object getData() {
		return data;
	}

	public void setData(Object data) {
		this.data = data;
	}

	/**
	 * 默认无参构造方法
	 */
	public ErrorInfo() {
		this.errCode = "-1";
		this.errMsg = "";
	}

	/**
	 * 构造方法
	 *
	 * @param errCode：返回代码
	 * @param ：返回信息
	 */
	public ErrorInfo(String errCode, String errMsg) {
		this.errCode = errCode;
		this.errMsg = errMsg;
	}

	/**
	 * 全参构造方法
	 *
	 * @param errCode：返回代码
	 * @param ：返回信息
	 * @param data：返回数据
	 */
	public ErrorInfo(String errCode, String errMsg, Object data) {
		this.errCode = errCode;
		this.errMsg = errMsg;
		this.data = data;
	}

	/**
	 * @Description：设置错误信息
	 * @Author： hupan
	 * @param errCode：返回代码
	 * @param errMsg：返回信息
	 * @Create Date： 2015-10-13 下午05:29:45
	 */
	public ErrorInfo setErrInfo(String errCode, String errMsg) {
		this.errCode = errCode;
		this.errMsg = errMsg;

		return this;
	}

	/**
	 * @Description：设置错误信息，带返回数据
	 * @Author： hupan
	 * @param errCode：返回代码
	 * @param errMsg：返回信息
	 * @param data：返回数据
	 * @Create Date： 2015-10-13 下午05:29:45
	 */
	public ErrorInfo setErrInfo(String errCode, String errMsg, Object data) {
		this.errCode = errCode;
		this.errMsg = errMsg;
		this.data = data;

		return this;
	}

	/**
	 * @Description：清除错误信息
	 * @Author： hupan
	 * @Create Date： 2015-10-29 上午11:43:47
	 */
	public ErrorInfo clear() {
		this.errCode = "-1";
		this.errMsg = "";
		this.data = null;

		return this;
	}

	@Override
	public String toString() {
		StringBuffer data = new StringBuffer();

		if (this.data instanceof List) {
			data.append("[");
			for (int i = 0; i < ((List) this.data).size(); i++) {

				if (i != ((List) this.data).size()) {
					data.append(((List) this.data).get(i) + ",");
				} else {
					data.append(((List) this.data).get(i));
				}

			}
			data.append("]");
		} else {
			data.append(this.data);
		}

		return "返回信息{返回代码:" + this.errCode + ",返回信息:" + this.errMsg + ",返回数据:" + data.toString() + "}";
	}

}
